<?php
/* 
 * ********* CVS HEADER ********* 
 * 
 * $RCSfile: admenvfileedit.php,v $ 
 * $Date: 2006/03/16 20:19:15 $ 
 * $Revision: 1.4 $ 
 * 
 * ********* CVS HEADER ********* 
 */
if (!isset($argid)) {
	rportalerreur("Aucun environnement en param&egrave;tre !","?op=admenvliste");
}
if (!isset($file)) {
	rportalerreur("Aucun fichier en param&egrave;tre !","?op=admenvfilelist&argid=".$argid);
}
if(!(strpos($file,'..')===false)) {
	/* La presence de '..' est interdite */
	header("Location: ?op=admenvfilelist&argid=".$argid);
	exit;
}

global $rportalconstants;
$L_modules = '';
$L_base_env = get_env_path();
require_once(get_path_module("fonctions.fichiers"));
require_once("module/TPLN/TPLN.php");

if (!est_texte(strtolower(file_ext($file)))) {
	header("Location: ?op=admenvfilelist&argid=".$argid);
	exit;
}

$L_pos = strrpos($file,'/');
if ($L_pos === false) {
	$L_lienRetour ="";
} else {
	$L_lienRetour ="&file=";
	$L_lienRetour.=substr($file,0,$L_pos+1);
} 


$query="SELECT `nom` FROM environnement WHERE id='$argid'";
$result=rportalrequete($query) or rportalerreur($query,"?op=admenvliste");	
if(!$L_environnement=rportalligne($result)) {
	rportalerreur("L'environnement [id=$argid] n'existe pas","?op=admenvliste");
}

$L_public_path = $rportalconstants->get_value("PATH", "environnement.path.public");
$L_basePath = $rportalconstants->get_value("PATH", "environnement.path.public");
$L_curpath=$L_basePath.$L_environnement['nom']."/";
$L_fichier = $L_curpath.$file;

if (!is_file($L_fichier)) {
	rportalerreur("Fichier invalide : " .$L_fichier, "?op=admenvfilelist&argid=".$argid);
}

if(isset($action) || $action=="save") {
    $str = stripslashes($str);
    $fp = fopen($L_fichier, "w");
    fwrite($fp, $str);
    fclose($fp);
    $L_message = "Correctement sauvegarde : ".$file;
}

$TPLN = new TPLN; 
$TPLN->Open($op_basepath.get_path("tpl")."admenvfileedit.html"); 
$TPLN->IncludeFile("header",$L_base_env.$session['environnement']."/header.php");

require_once(get_path_module("admin")); 
$pc = new panneau_controle(); 
$pc->calculRubriqueParFonction('admenvliste'); 
$TPLN->Parse("panneau_controle",$pc->retourneEntete());

$TPLN->Parse("argid",$argid);
$TPLN->Parse("lienRetour",$L_lienRetour);
$TPLN->Parse("lien",$file);
$TPLN->Parse("fichier",$file);
$TPLN->Parse("environnement",$L_environnement['nom']);
$TPLN->Parse("message",$L_message);

if (file_exists($L_fichier)) {
    $fp = fopen($L_fichier, "r");
    $content = fread($fp, filesize($L_fichier));
    fclose($fp);
    $content = str_replace("\t", "  ",$content);
    $TPLN->Parse("contenu",htmlspecialchars($content));
}


$TPLN->IncludeFile("footer",$L_base_env.$session['environnement']."/footer.php");
$TPLN->Write(); 

?>